package com.ruoyi.app.controller.order.service;

import com.ruoyi.app.controller.order.entity.ShopPetrolOrderConfirmVO;
import com.ruoyi.common.entity.DO.order.ShopPetrolOrderDO;
import com.ruoyi.common.entity.VO.PayVO;
import com.ruoyi.common.entity.VO.order.ShopOrderSearchVO;
import com.ruoyi.common.entity.VO.order.ShopOrderVO;

import java.util.Map;

public interface IShopPetrolOrderService {

    /**
     * 确认订单
     *
     * @param shopPetrolOrderDO
     * @param isOrder
     * @return
     */
    ShopPetrolOrderConfirmVO confirm(ShopPetrolOrderDO shopPetrolOrderDO,boolean isOrder);

    /**
     * 创建订单
     *
     * @param shopPetrolOrderDO
     * @return
     */
    String create(ShopPetrolOrderDO shopPetrolOrderDO);

    /**
     * 获取订单支付信息
     *
     * @param orderSn
     * @return
     */
    PayVO getPayInfo(String orderSn);
//
    /**
     * 获取订单详情
     * @param shopOrderSearchVO
     * @return
     */
    ShopPetrolOrderDO getDetail(ShopOrderSearchVO shopOrderSearchVO);
//
//    /**
//     * 获取订单退款详情
//     * @param orderRefundSearchVO
//     * @return
//     */
//    OrderRefundDO getRefundInfo(OrderRefundSearchVO orderRefundSearchVO);
//

    /**
     * 删除订单
     * @param memberId 会员ID
     * @return
     */
    void deleteByMemberId(Long memberId);
//
//    /**
//     * 获取订单付款信息
//     * @param orderSn
//     * @return
//     */
//    PayVO getPayInfo(String orderSn);
//

    /**
     * 会员订单支付回调
     *
     * @param notifyMap
     */
    void payNotifyHandle(Map<String, String> notifyMap);
//
//    /**
//     * 检查订单中的商品是否还有足够库存
//     * @param orderSn
//     */
//    void checkHasEnoughStock(String orderSn);


}
